# 获取当前的系统环境变量 PATH
$envPath = [System.Environment]::GetEnvironmentVariable("PATH", "Machine")
# 将 PATH 按分号分割成路径数组
$pathArray = $envPath -split ';'

# 创建一个新的数组，用于存储有效的路径
$validPaths = @()

# 遍历每个路径
foreach ($path in $pathArray) {
    # 去除前后的空格
    $trimmedPath = $path.Trim()
    
    # 如果路径存在，则添加到有效路径列表
    if (Test-Path $trimmedPath) {
        $validPaths += $trimmedPath
    } else {
        Write-Host "路径不存在，将从 PATH 中移除: $trimmedPath"
    }
}

# 获取当前的系统环境变量 PATH
$envPathUser = [System.Environment]::GetEnvironmentVariable("PATH", "User")
# 将 PATH 按分号分割成路径数组
$pathArray = $envPath -split ';'

# 创建一个新的数组，用于存储有效的路径
$validPaths = @()

# 遍历每个路径
foreach ($path in $pathArray) {
    # 去除前后的空格
    $trimmedPath = $path.Trim()
    
    # 如果路径存在，则添加到有效路径列表
    if (Test-Path $trimmedPath) {
        $validPaths += $trimmedPath
    } else {
        Write-Host "路径不存在，将从 PATH 中移除: $trimmedPath"
    }
}


# 将有效路径数组重新用分号拼接成 PATH 字符串
$newPath = $validPaths -join ';'

# 设置新的 PATH 环境变量
[System.Environment]::SetEnvironmentVariable("PATH", $newPath, "User")

Write-Host "PATH User 环境变量已更新！" 

# 遍历 A 盘所有文件夹
$folders = Get-ChildItem -Path A:\   -Directory

foreach ($folder in $folders) {
    # 获取文件夹内的文件和子文件夹
    $content = Get-ChildItem -Path $folder.FullName 

    # 检查是否为空文件夹
    if ($content.Count -eq 0) {
        # 如果文件夹为空，则移除
         try  { Remove-Item -Path $folder.FullName -Recurse -Force
        Write-Host "已删除空文件夹: $($folder.FullName)" } 
        catch { 
             write-host $_    
        }
    }
}


